package cn.stylefeng.guns.modular.make.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.basic.entity.BasicOperate;
import cn.stylefeng.guns.modular.make.entity.MakeRailwayPlatformManage;
import cn.stylefeng.guns.modular.make.model.params.MakeRailwayPlatformManageParam;
import cn.stylefeng.guns.modular.make.model.result.MakeRailwayPlatformManageResult;
import cn.stylefeng.guns.sys.modular.system.entity.User;
import cn.stylefeng.roses.core.reqres.response.ResponseData;

/**
 * 月台预约管理 服务类
 */
public interface MakeRailwayPlatformManageService extends IService<MakeRailwayPlatformManage> {

    /**
     * 新增
     *
     * @author zhucx
     * @Date 2022-09-21
     */
    void add(MakeRailwayPlatformManageParam param);

    /**
     * 删除
     *
     * @author zhucx
     * @Date 2022-09-21
     */
    void delete(MakeRailwayPlatformManageParam param);

    /**
     * 更新
     *
     * @author zhucx
     * @Date 2022-09-21
     */
    void update(MakeRailwayPlatformManageParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author zhucx
     * @Date 2022-09-21
     */
    MakeRailwayPlatformManageResult findBySpec(MakeRailwayPlatformManageParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author zhucx
     * @Date 2022-09-21
     */
    List<MakeRailwayPlatformManageResult> findListBySpec(MakeRailwayPlatformManageParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author zhucx
     * @Date 2022-09-21
     */
     LayuiPageInfo findPageBySpec(MakeRailwayPlatformManageParam param,String condition,Long operateId);

     /**
      * 查询分页数据，Specification模式
      *
      * @author zhucx
      * @Date 2022-09-21
      */
      LayuiPageInfo findMyPageBySpec(MakeRailwayPlatformManageParam param,String condition,Long operateId);

	MakeRailwayPlatformManageResult checkBySpec(MakeRailwayPlatformManageParam checkparam);

	Integer addReturnId(MakeRailwayPlatformManageParam param);

	ResponseData addMake(MakeRailwayPlatformManageParam param, User user,BasicOperate operate);

	ResponseData editMake(MakeRailwayPlatformManageParam param,User user);

	int countBydate(MakeRailwayPlatformManageParam param,Long operateId);

	MakeRailwayPlatformManageResult findJingxingzhongBySpec(
			MakeRailwayPlatformManageParam param);

	MakeRailwayPlatformManageResult findPaiduizhongBySpec(
			MakeRailwayPlatformManageParam param);

}
